Jacoco cobertura de codigo de tests

Descripcion

Como implementar jacoco en nuestra aplicacion para obtener metricas de cobertura de codigo de nuestros Unit Tests

Metodo

Introducimos el siguiente plugin en el pom.xml:

NOTA: Tenemos que incluir el plugin dentro de <build> y dentro de <plugins>

<plugin>
	<groupId>org.jacoco</groupId>
	<artifactId>jacoco-maven-plugin</artifactId>
	<executions>
		<execution>
			<goals>
				<goal>prepare-agent</goal>
			</goals>
		</execution>
		<execution>
			<id>report</id>
			<phase>prepare-package</phase>
			<goals>
				<goal>report</goal>
			</goals>
		</execution>
	</executions>
</plugin>

Una vez hemos puesto el plugin podemos generar un reporte de la cobertura del codigo en Maven > Plugins > jacoco > report ejecutamos esa opcion del plugin y se generara el reporte:

Una vez ejecutada la generacion del reporte de cobertura podemos acceder a el en la carpeta target/site/jacoco, tendremos un archivo index.html en el que se muestra el reporte de una manera visual

Troubleshooting

Al ejecutar Maven > Plugins > jacoco > report obtenemos el siguiente error:

'build.plugins.plugin.version' for org.jacoco:jacoco-maven-plugin is missing. @ line 59, column 12 Skipping JaCoCo execution due to missing execution data file.

Si obtenemos el error anterior, tenemos que ejecutar primero los tests para que se generen los archivos de clases de los tests.

Tags

Jacoco | Unit test | Cobertura de codigo